# -*- coding: utf-8 -*-

# Autor: Pedro Godinho, n.º 6355
# Data: 08/12/2011

from operator import itemgetter
from BaseDados import BaseDados
from Dados import Dados

class Html():
    '''
    Esta classe cria a lista de Docentes em ficheiro Html
    '''
    
    def htmlDocentesEstabelecimentoAno(self):
        '''
        Método que cria o ficheiro Html para a lista de docentes por estabelecimento por ano
        '''

        d = Dados()
        bd = BaseDados()
    
        html = open('index.html',"wb") # abre ficheiro a ser lido
        # Cria o codigo de html
        html.write('<html>\n')
        html.write('<head align="center">')
        html.write('<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />')
        html.write('<h1 align="center">Docentes por Estabelecimento de Ensino por Ano</h1>\n') # Header
        html.write('</head>')
        html.write('<h5>Nome do Estabelecimento - Ano - Nome do Docente</h5>\n')
        html.write('<body>\n')
        
        listaTemp = sorted(d.lista, key=itemgetter(8,6,1))
        
        for line in listaTemp:
            html.write('<li>' + line[bd.NOME_ESTABELECIMENTO] + ' - ' + str(line[bd.ANO_LECTIVO]) + ' - ' + line[bd.NOME])
            pass
        
        html.write('</body>\n')
        html.write('</html>\n')
        html.close # fecha o ficheiro
        pass
    
    def htmlDocentesCategoriaEstabelecimentoAno(self):
        '''
        Método que cria o ficheiro Html para a lista de docentes por categoria por estabelecimento por ano
        '''

        d = Dados()
        bd = BaseDados()

        html = open('index.html',"wb") # abre ficheiro a ser lido
        # Cria o codigo de html
        html.write('<html>\n')
        html.write('<head align="center">')
        html.write('<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />')
        html.write('<h1 align="center">Docentes por Categoria por Estabelecimento de Ensino por Ano</h1>\n') # Header
        html.write('</head>')
        html.write('<h5>Categoria - Nome do Estabelecimento - Ano - Nome do Docente</h5>\n')
        html.write('<body>\n')
        
        listaTemp = sorted(d.lista, key=itemgetter(4,8,6,1))
        
        for line in listaTemp:
            html.write('<li>' + line[bd.CATEGORIA] + ' - ' + line[bd.NOME_ESTABELECIMENTO] + ' - ' + str(line[bd.ANO_LECTIVO]) + ' - ' + line[bd.NOME])
            pass
        
        html.write('</body>\n')
        html.write('</html>\n')
        html.close # fecha o ficheiro
        pass

    def htmlDocentesGrauEstabelecimentoAno(self):
        '''
        Método que cria o ficheiro Html para a lista de docentes por grau por estabelecimento por ano
        '''

        d = Dados()
        bd = BaseDados()
        
        html = open('index.html',"wb") # abre ficheiro a ser lido
        # Cria o codigo de html
        html.write('<html>\n')
        html.write('<head align="center">')
        html.write('<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />')
        html.write('<h1 align="center">Docentes por Grau por Estabelecimento de Ensino por Ano</h1>\n') # Header
        html.write('</head>')
        html.write('<h5>Grau - Nome do Estabelecimento - Ano - Nome do Docente</h5>\n')
        html.write('<body>\n')
        
        listaTemp = sorted(d.lista, key=itemgetter(2,8,6,1))
        
        for line in listaTemp:
            html.write('<li>' + line[bd.ULTIMO_GRAU] + ' - ' + line[bd.NOME_ESTABELECIMENTO] + ' - ' + str(line[bd.ANO_LECTIVO]) + ' - ' + line[bd.NOME])
            pass
        
        html.write('</body>\n')
        html.write('</html>\n')
        html.close # fecha o ficheiro
        pass
